se apos(9,20)||'c3z4ÉÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍ»'
se apos(10,20)||'º º º º'
se apos(11,20)||'º º º º'
se apos(12,20)||'º º º º'
se apos(13,20)||'º º º º'
se apos(14,20)||'º º º º'
se apos(15,20)||'ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍ͹'
se apos(16,20)||'º º º º'
se apos(17,20)||'º º º º'
se apos(18,20)||'º º º º'
se apos(19,20)||'º º º º'
se apos(20,20)||'º º º º'
se apos(21,20)||'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍͼ'
se apos(11,5)||'c6z0WRITTEN BY'
se apos(13,6)||'MORPHEUS'
select
when gametype='1' then;do
typetext=' EXTRA TIME'
gu 7
lefttext='Time left: '||result%10||' min.'
end
when gametype='2' then;do
typetext=' EXTRA BYTES'
gu 35
lefttext='Bytes left: '||result||' credits'
end
when gametype='3' then;do
typetext=' EXTRA FILES'
gu 34
lefttext='Files left: '||result||' credits'
end
when gametype='4' then typetext=' FUN!'
end
if gametype~='4' then se apos(22,0)||'c6'||center(lefttext,81)
se apos(11,69)||'6 PLAY FOR'||apos(13,66)||typetext
se apos(24,5)||'c4[c3Qc4]c3 = QUIT c4[c3ENTERc4]c3 = SCRATCH c4[c3Cc4]c3 = CHANGE GAME CURSORKEYS TO SELECT'
return
place_bet:
call check_carrier
select
when gametype='1' then;do forever
se apos(26,26)||'c6Place your bet c1[c60-15 min.c1]c6 :c7 1 '||apos(26,55)
prompt 2 NORMAL '""'
inzet=upper(result)
if inzet='Q' then call exitscratche
if inzet='C' then;do
cg=1
call changegame
return
end
if inzet='' then;do
inzet=1
se apos(26,55)||'c11'
end
if inzet>=0&inzet<16 then;do
gu 7
if result%10>inzet then return
end
end
when gametype='2' then;do forever
se apos(26,23)||'c6Place your bet c1[c60-250 byte cr.c1]c6 :c7 1 '||apos(26,57)
prompt 3 NORMAL '""'
inzet=upper(result)
if inzet='Q' then call exitscratche
if inzet='C' then;do
cg=1
call changegame
return
end
if inzet='' then;do
inzet=1
se apos(26,57)||'c11'
end
if inzet>=0&inzet<251 then;do
gu 35
if result>inzet then return
end
end
when gametype='3' then;do forever
se apos(26,24)||'c6Place your bet c1[c60-10 file cr.c1]c6 :c7 1 '||apos(26,57)
prompt 2 NORMAL '""'
inzet=upper(result)
if inzet='Q' then call exitscratche
if inzet='C' then;do
cg=1
call changegame
return
end
if inzet='' then;do
inzet=1
se apos(26,57)||'c11'
end
if inzet>=0&inzet<11 then;do
gu 34
if result>inzet then return
end
end
otherwise nop
end
return
get_input:
x=22;y=10
se apos(y,x)||b.1||apos(y+1,x)||b.2||apos(y+2,x)||b.3||apos(y+3,x)||b.4||apos(y+4,x)||b.5
se apos(24,79)
einde=0
chang=0
niets=0
tel=0
do k=1 for 6
vak.k=0
end
k=1
do forever
call check_carrier
gc
key=result
if key='1B'x then;do
checkio
if result='1' then;do
gc;gc
key=result
if key='A' then key='8'
if key='B' then key='2'
if key='C' then key='6'
if key='D' then key='4'
end
else quit=1
end
else if key='D'x|key='5'|key=' ' then key='0'
oldx=x
oldy=y
select
when upper(key)='Q' then quit=1
when upper(key)='C' then;do
call changegame
chang=1
se apos(24,79)
return
end
when key='2'&y<bot then y=y+6
when key='4'&x>left then x=x-14
when key='6'&x<right then x=x+14
when key='8'&y>top then y=y-6
when key='0' then;do
niets=1
i=sym.k
if vak.k=0 then tel=tel+1
vak.k=sym.k
se apos(y+1,x+1)||s.i.1||apos(y+2,x+1)||s.i.2||apos(y+3,x+1)||s.i.3
se apos(24,79)
end
otherwise niets=1
end
oldk=k
select
when x=22&y=10 then k=1
when x=22&y=16 then k=2
when x=36&y=10 then k=3
when x=36&y=16 then k=4
when x=50&y=10 then k=5
when x=50&y=16 then k=6
end
if niets=0&quit=0 then;do
if vak.oldk=0 then
se ''||apos(oldy,oldx)||sp1||apos(oldy+1,oldx)||sp1||apos(oldy+2,oldx)||sp1||apos(oldy+3,oldx)||sp1||apos(oldy+4,oldx)||sp1||'z0'
else;do
i=vak.oldk
se ''||apos(oldy,oldx)||sp1||apos(oldy+1,oldx)||' '||s.i.1||' '||apos(oldy+2,oldx)||' '||s.i.2||' '||apos(oldy+3,oldx)||' '||s.i.3||' '||apos(oldy+4,oldx)||sp1||'z0'
end
if vak.k=0 then
se apos(y,x)||b.1||apos(y+1,x)||b.2||sp2||b.2||apos(y+2,x)||b.3||sp2||b.3||apos(y+3,x)||b.4||sp2||b.4||apos(y+4,x)||b.5
else;do
i=vak.k
se apos(y,x)||b.1||apos(y+1,x)||b.2||apos(y+1,x+10)||b.2||apos(y+2,x)||b.3||apos(y+2,x+10)||b.3||apos(y+3,x)||b.4||apos(y+3,x+10)||b.4||apos(y+4,x)||b.5
end
se apos(24,79)
end
else niets=0
if tel=6|quit=1 then return
end
win_or_lose:
if quit=0&chang=0 then;do
i=vak.k
se ''||apos(oldy,oldx)||sp1||apos(oldy+1,oldx)||' '||s.i.1||' '||apos(oldy+2,oldx)||' '||s.i.2||' '||apos(oldy+3,oldx)||' '||s.i.3||' '||apos(oldy+4,oldx)||sp1||'z0'
call clr(25)
select
when gametype='1' then;do
if win=1 then;do
gu 7
tijd=result%10
setobject (tijd+(gain*inzet))*10
pu 7
se apos(25,26)||'q1k1C O N G R A T U L A T I O N S !!!k0'
se apos(26,23)||'k1Y O U H A V E W O N '||gain*inzet||' M I N U T E Sk0'
se apos(27,30)||'k1 E X T R A T I M E !!!k0'
end
else;do
gu 7
tijd=result%10
setobject (tijd-inzet)*10
pu 7
if inzet=1 then eenh=' M I N U T E'
else eenh=' M I N U T E S'
se apos(26,19)||'q1c7Y O U H A V E L O S T '||inzet||eenh||' !!!'
end
end
when gametype='2' then;do
if win=1 then;do
gu 35
setobject result+(gain*inzet)
pu 35
se apos(25,26)||'q1k1C O N G R A T U L A T I O N S !!!k0'
se apos(26,30)||'k1Y O U H A V E W O N '||gain*inzet||'k0'
se apos(27,28)||'k1 B Y T E C R E D I T S !!!k0'
end
else;do
gu 35
setobject result-inzet
pu 35
if inzet=1 then eenh=' C R E D I T'
else eenh=' C R E D I T S'
se apos(26,15)||'q1c7Y O U H A V E L O S T '||inzet||' B Y T E'||eenh||' !!!'
end
end
when gametype='3' then;do
if win=1 then;do
gu 34
setobject result+(gain*inzet)
pu 34
se apos(25,26)||'q1k1C O N G R A T U L A T I O N S !!!k0'
se apos(26,31)||'k1Y O U H A V E W O N '||gain*inzet||'k0'
se apos(27,28)||'k1 F I L E C R E D I T S !!!k0'
end
else;do
gu 34
setobject result-inzet
pu 34
if inzet=1 then eenh=' C R E D I T'
else eenh=' C R E D I T S'
se apos(26,15)||'q1c7Y O U H A V E L O S T '||inzet||' F I L E'||eenh||' !!!'
end
end
when gametype='4' then;do
if win=1 then;do
se apos(26,26)||'q1k1C O N G R A T U L A T I O N S !!!k0'
se apos(27,30)||'k1Y O U H A V E W O N !!!k0'
end
else se apos(26,28)||'q1c7Y O U H A V E L O S T !!!'
end
end
se apos(29,34)||'c4[c3 PRESS A KEY c4]c0'
call check_carrier
gc
if upper(result)='Q' then call exitscratche
if upper(result)='C' then call changegame
se 'q1'
end
else if tel>1 then;do
if gametype~='4' then;do
gu 7
tijd=result%10
setobject (tijd-inzet)*10
pu 7
end
end
return
changegame:
err=0
do forever
call check_carrier
call clr(25)
se apos(26,14)||'c6Choose game-type (c11c6=Time, c12c6=Bytes, c13c6=Files, c14c6=Fun) : c1'||apos(26,67)
prompt 1 NORMAL '""'
gametype=upper(result)
select
when gametype='Q' then call exitscratche
when gametype='1' then;do
gu 7
if result%10<5 then;do
se apos(27,32)||'c1Not enough time left!'
err=1
end
else return
end
when gametype='2' then;do
gu 35
if result<5 then;do
se apos(27,28)||'c1Not enough byte credits left!'
err=1
end
else return
end
when gametype='3' then;do
gu 34
if result<5 then;do
se apos(27,28)||'c1Not enough file credits left!'
err=1
end
else return
end
when gametype='4' then return
otherwise nop
end
if err=1 then;do
se apos(29,34)||'c4[c3 PRESS A KEY c4]c0'
call check_carrier
gc
if upper(result)='Q' then call exitscratche
se 'q1'
err=0
end
end
return
exitscratche:
se 'f1n3z0'
gu 7
stoptijd=result%10
delta=stoptijd-starttijd
if delta=1| delta=-1 then eenh='minute'
else eenh='minutes'
if delta>=0 then
se 'k1'||center('You have won '||delta||' '||eenh||'!',78)||'k0n2'
else se 'c7'||center('You have lost '||-delta||' '||eenh||'!',78)||'k0n2'
gu 35
stopbyte=result
delta=stopbyte-startbyte
if delta=1| delta=-1 then eenh='credit'
else eenh='credits'
if delta>=0 then
se 'k1'||center('You have won '||delta||' byte '||eenh||'!',78)||'k0n2'
else se 'c7'||center('You have lost '||-delta||' byte '||eenh||'!',78)||'k0n2'
gu 34
stopfile=result
delta=stopfile-startfile
if delta=1| delta=-1 then eenh='credit'
else eenh='credits'
if delta>=0 then
se 'k1'||center('You have won '||delta||' file '||eenh||'!',78)||'k0n3c3'
else se 'c7'||center('You have lost '||-delta||' file '||eenh||'!',78)||'k0n3c3'
se center('ScratchE! v1.1 by Morpheus',78)||'c2'
se apos(2,16)'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»'
se apos(3,16)'º'apos(3,63)'º'apos(4,16)'º'apos(4,63)'º'apos(5,16)'º'apos(5,63)'º'apos(6,16)'º'apos(6,63)'º'apos(7,16)'º'apos(7,63)'º'apos(8,16)'º'apos(8,63)'º'apos(9,16)'º'apos(9,63)'º'
se apos(10,16)'ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹'
se apos(11,16)'º'apos(11,63)'º'
se apos(12,16)'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼc1n2'
se center('Returning to '||bbsname||'...',78)||'n1w3q1'